Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Метод Ньютона для розв’язування систем нелінійних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА Кафедра захисту інформації З В І Т До лабораторної роботи №5 з курсу: „ Комп’ютерні методи дослідження інформаційних процесів та систем ” на тему: «Метод Ньютона для розв’язування систем нелінійних рівнянь» Варіант 7 Мета роботи: Ознайомлення з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – методом Ньютона. ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Розв’язати систему нелінійних рівнянь модифікованим методом Ньютона, вибираючи за початкові наближення . Ітерації проводити до збігу двох послідовних наближень з похибкою . 7)   Блок схема програми Список індентифікаторів, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення class Program – клас, в якому оголошений метод Main; class Metods –клас, в якому оголошені методи J, A, F, Obchusl; public void J – метод обчислення Якоб’яна; public void A – метод обчислення обертання Якоб’яна; public void F – метод обчислення функції в при х[1], x[2]; public void Obchusl – метод обчислення значення х[1], x[2]; static void Main(string[] args) – головна функція; I – клас типу Methods; j, a масиви 2х2 типу Double; x1, x2, E, delta_xk1, delta_xk2, xk1, xk2 змінні типу double; p – змінна типу int; f,r – лінійні масиви типу Double. Текст програми: using System; using System.Collections.Generic; using System.Text; namespace Njuton { class Program { static void Main(string[] args) { Metods I = new Metods(); I.Obchusl(); Console.ReadKey(); } } class Metods { Double[,] j = new Double[2, 2]; Double[,] a = new Double[2, 2]; double x1, x2, E = 0.00001, delta_xk1, delta_xk2, xk1, xk2; int p; Double[] f = new Double[2]; Double[] r = new Double[2]; public void J(double x1, double x2) { j[0, 0] = 1 - 2 * x1; j[0, 1] = -2 * x2; j[1, 0] = -2 * x2; j[1, 1] = 1 - 2 * x1; } public void A(double x1, double x2) { J(x1, x2); double det = Math.Pow(1 - 2 * x1, 2) - Math.Pow(2 * x2, 2); a[0, 0] = (1 / det) * j[1, 1]; a[0, 1] = (1 / det) * j[1, 0]; a[1, 0] = (1 / det) * j[0, 1]; a[1, 1] = (1 / det) * j[0, 0]; } public void F(double x1, double x2) { f[0] = x1 - Math.Pow(x1, 2) - Math.Pow(x2, 2) + 0.1; f[1] = x2 - 2 * x1 * x2 - 0.1; } public void Obchusl() { x1 = Convert.ToDouble(Console.ReadLine()); x2 = Convert.ToDouble(Console.ReadLine()); int k = 0; A(x1, x2); do { p = 0; k++; if (k % 5 == 0) A(x1, x2); F(x1, x2); r[0] = a[0, 0] * f[0] + a[0, 1] * f[1]; r[1] = a[1, 0] * f[0] + a[1, 1] * f[1]; xk1 = x1 - r[0]; xk2 = x2 - r[1]; delta_xk1 = Math.Abs(xk1 - x1); delta_xk2 = Math.Abs(xk2 - x2); if (delta_xk1 < E) p = 1; if (delta_xk2 < E) p = 1; x1 = xk1; x2 = xk2; } while (p != 1); Console.WriteLine("\n\n{0}\t{1}\n", x1, x2); } } } Результат виконання програми:  Висновок: На лабораторній роботі я склав програму мовою С# і ознайомився з методами Ньютона для розв’язування систем нелінійних рівнянь
Антиботан аватар за замовчуванням

30.03.2016 11:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини